package com.zs.letcode.top_interview_questions;

/**
 * Excel表列序号
 * 给定一个Excel表格中的列名称，返回其相应的列序号。
 * <p>
 * 例如，
 * <p>
 * A -> 1
 * B -> 2
 * C -> 3
 * ...
 * Z -> 26
 * AA -> 27
 * AB -> 28
 * ...
 * 示例 1:
 * <p>
 * 输入: "A"
 * 输出: 1
 * 示例2:
 * <p>
 * 输入: "AB"
 * 输出: 28
 * 示例3:
 * <p>
 * 输入: "ZY"
 * 输出: 701
 * 致谢：
 * 特别感谢@ts添加此问题并创建所有测试用例。
 * <p>
 * 相关标签
 * 数学
 * <p>
 * 作者：力扣 (LeetCode)
 * 链接：https://leetcode-cn.com/leetbook/read/top-interview-questions/xa6dkt/
 * 来源：力扣（LeetCode）
 * 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 *
 * @author madison
 * @description
 * @date 2021/6/8 08:41
 */
public class Chapter42 {
    public static void main(String[] args) {
        System.out.println('A' - 64);
        System.out.println('B' - 64);
    }

    private class Solution {
        public int titleToNumber(String columnTitle) {
            int ans = 0;
            for (int i = 0; i < columnTitle.length(); i++) {
                int num = columnTitle.charAt(i) - 'A' + 1;
                ans = ans * 26 + num;
            }
            return ans;
        }
    }
}
